home *** CD-ROM | disk | FTP | other *** search
/ Internet E-Mail Workshop / Internet E-Mail Workshop.iso / referenc / vga_info / paradise.txt < prev    next >
Text File  |  1994-01-18  |  24KB  |  562 lines

  1.   Paradise/Western Digital Super VGA Chips.
  2.  
  3.                Max mem   Max 16col  256 col
  4.     PVGA1A     512k/1M     800x600   640x480
  5.     WD90C00    512k/1M    1024x768   800x600   also known as PVGA1B
  6.     WD90C10    256k        640x480   320x200
  7.     WD90C11    512k       1024x768   800x600
  8.     WD90C20                800x600   640x480?  LCD/plasma controller derived
  9.                                                from WD90C00.  32 grey scales
  10.     WD90C22                                    As C20, but 64 grey scales
  11.     WD90c24                                    LCD with BitBLT, line draw and
  12.                                                VESA local bus interface.
  13.     WD90c26A                                   LCD controller. Can drive LCD
  14.                                                and CRT simultaneously. 3.3V
  15.     WD90C30    1M         1024x768  1024x768   (D-step)
  16.     WD90C31    1M        1280x1024  1024x768   (1DW - accelerator) Hardware
  17.                                                Cursor, BitBLT.
  18.     WD90C33    2M                  1280x1024   Accelerator. as WD90c31, but
  19.                                                with 8-level instruction FIFO.
  20.                                                VESA local bus interface.
  21.     WD90C35              Next version
  22.  
  23. Support chips:
  24.     WD90c55                                    Color LCD interface for WD90c2x
  25.     WD90c56                                    Local Bus Interface for WD90c31
  26.  
  27.  
  28.  94h (W): Setup Register     (Micro Channel)
  29.  
  30. 102h (R/W): VGA Sleep Register    (setup mode only)
  31. bit    0  VGA enabled if set.
  32.      1-7  Reserved.
  33. Note: this register can only be accessed in setup mode.
  34.  
  35. 3C3h (W): Global Enable Register
  36. bit    0  VGA Motherboard Enable if set
  37.  
  38. 3C4h index  3  (R/W): Reconfigured Character Map Select
  39. bit  0-2  Offset of character map in plane 2/3 in 8k blocks
  40.      3-4  Character map select from plane:
  41.             0: plane 2
  42.             1: plane 2 if attr. bit 3 set, plane 3 else
  43.             2: plane 3 if attr. bit 3 set, plane 2 else
  44.             3: plane 3
  45.  
  46. 3C4h index  6  (R/W):
  47. Note: in the WD90c1x chips this register must be programmed with 48h.
  48.  
  49. 3C4h index  7  (R/W): Display Configuration Status (WD90C1x Only)
  50. bit    0  (R) Monitor type
  51.        1  (R) EGA emulation if set
  52.        2  (R) 6845 compatibility if set
  53.        3  (R) Color mode if set
  54.      4-7  Scratch Pad
  55.  
  56. 3C4h index 10h (R/W):  Memory Interface                         (WD90C11 Only)
  57. bit    2  
  58.  
  59. 3C4h index 11h (R/W):  System Control Interface                 (WD90C1x Only)
  60. bit    0  (WD90C1x Only) 16 bit access to CRTC, Graphics Controller and
  61.           Sequencer Registers if set
  62.        1  (WD90c1x Only) 16 bit access to Attribute Registers if set.
  63.           If so 3C0h is index and 3C1h is data port.
  64.        2  Enable Write buffer if set
  65.      3-4  Enhanced speed depending of host bus speed:
  66.            0 for 12MHz, 1 for 10 MHz, 2,3 for 8 MHz
  67.        5  Enhanced text mode operations if set
  68.        6  Enhanced operation on blank lines if set
  69.        7  (WD90C1x,3x Only) If set Bank reg PR0A is used for read cycles and
  70.           PR0B for write cycles, else PR0B is used for A000h-A7FFh and PR0A
  71.           for A800h-AFFFh.
  72.  
  73. 3C4h index 12h (R/W): Miscellaneous Control #4                  (WD90C1x Only)
  74. bit    6  Enable Cursor Blinking if set
  75.        7  Enable External Sync
  76.  
  77. 3C4h index 14h (R/W):                                           (WD90C3x only)
  78. bit  0-3
  79.        6  (WD90c33) Bit 8 of PR0A. Bits 0-7 are in 3CEh index 9.
  80.  
  81. 3C4h index 15h (R/W)
  82.  
  83. 3CEh index  9  (R/W): PR0A Address Offset A
  84. bit  0-6  (<WD90C30) Added to bit 12-18 of video memory address if
  85.                      Bank A selected. (Reads if 3C4h index 11h bit 7 set,
  86.                      A800h-AFFFh if 3CEh index Bh bit set and 64k config
  87.                      B000h-BFFFh if 128k config. A000h-AFFFh else).
  88.      0-7   (WD90C3x) same but bit 12-19 rather than 12-18.
  89.  
  90. 3CEh index  Ah (R/W): PR0B Address Offset B
  91. bit  0-6  (<WD90C30) Added to bit 12-18 of video memory address if
  92.                      Bank B selected. (Writes if 3C4h index 11h bit 7 set,
  93.                      A000h-A7FFh if 3CEh index Bh bit 3 set and 64k config,
  94.                      A000h-AFFFh if 128k config).
  95.      0-7   (WD90C3x) Same but bit 12-19 rather than 12-18.
  96.  
  97. 3CEh index  Bh (R/W): PR1 Memory Size
  98. bit    0  Enable on card ROM if set
  99.        1  Select 16 bit ROM if set
  100.        2  Select 16 bit Memory  if set
  101.        3  PROB enabled if set, else use PR0A for both banks
  102.      4-5  Memory Map.  0=A000-BFFFh standard VGA,
  103.                        1=0-3FFFFh, 2=0-7FFFFh and 3=0-FFFFFh
  104.      6-7  Installed memory:
  105.             0  256k VGA standard
  106.             1  256k PVGA bank switching
  107.             2  512k do
  108.             3    1M do
  109.  
  110. 3CEh index  Ch (R/W): PR2 Video Configuration
  111. bit    0  Force VCLK (overrides SQE1 bit 3).
  112.        1  Third Clock Select Line VCLK2
  113.           This bit appears to be inverted on the WD90c1x and WD90c2x, compared
  114.           to the WD90c00 and PVGA1
  115.      2,5  Character Map Select/Underline
  116.             0  Characters are taken from plane 2
  117.             1  do, but characters are underlined if bit 0 of the characters
  118.                attribute is set.
  119.             2  Characters are taken from plane 3.
  120.             3  If bit 3 of the characters attribute is set the character is
  121.                taken from plane 3, else from plane 2.
  122.      3,4  Character Clock Period Control
  123.             0  IBM VGA character Clock (8 or 9 dots wide).
  124.             1  7 dots (used for 132 character modes).
  125.             2  9 dots
  126.             3  10 dots
  127.           Selecting 10 dots/character modifies the horizontal PEL panning
  128.           register (3C0h index 13h).
  129.        5  Character Map Select.
  130.        6  6845 Compatibility (6845 if set, EGA/VGA if clear).
  131.        7  AT&T/M24 Mode Enable, 400 line enable
  132.  
  133. 3CEh index  Dh (R/W): PR3 CRTC Control
  134. bit    0  Lock Vertical Timing
  135.        1  Lock Prevention. Prevent locking through the Vertical Retrace
  136.           register (3d4h index 11h bit 7).
  137.        2  Multiply Cursor Start, Cursor Stop, Preset Row Scan and Maximum Scan
  138.           Line registers by 2
  139.      3-4  bit 16,17 of CRTC Display Start Address
  140.        5  Lock Horizontal Timing
  141.        6  Lock HSYNC Polarity
  142.        7  Lock VSYNC Polarity
  143.  
  144. 3CEh index  Eh (R/W): PR4 Video Control
  145. bit    0  Extended 256 color Shift register Control. Configures the video
  146.           shift registers for extended 256 color mode.
  147.        1  EGA compatibility. Disables reads of all registers that are
  148.           writeonly on the EGA, and of PR0-5.
  149.        2  Lock internal Palette and Overscan registers
  150.        3  Override CGA Enable Video bit. Overrides the CGA "enable video"
  151.           bit 3 of 3D8h
  152.        4  Tri-state Memory Control Outputs
  153.        5  Tri-state Video outputs
  154.        6  PCLK=VCLK
  155.        7  BLNK/Display Enable
  156.  
  157. 3CEh index  Fh (R/W): PR5 General Purpose Status and PR Register
  158. bit  0-2  Extended registers PR0-4 Unlocked if set to 5
  159.        4  Read protect PR0-4 if set.
  160.        7  Multisync if set, fixed frequency else.
  161.  
  162. 3d4h index 29h (R/W): PR10 Unlock PR11-17 Registers             (WD90Cxx Only)
  163. bit  0-2  Write of PR11-18 enabled if set to 5
  164.      3,7  Read of PR11-18 enabled if 3 clear and 7 set
  165.  
  166. 3d4h index 2Ah (R/W): PR11 EGA Switches                         (WD90Cxx Only)
  167. bit    0  Lock 8/9 Dot Character Clock. Inhibits writes to 3C4h index 1 bit 0.
  168.        1  Lock Graphics and Sequencer Screen Control
  169.           Inhibits write to 3CEh index 5 bit 5-6, 3C4h index 1 bit 2-5 and
  170.           3C4h index 3 bit 0-5.
  171.        2  Lock Clock Select
  172.        3  EGA Emulation on Analog Display
  173.      4-7  EGA Switch 1-4
  174.  
  175. 3d4h index 2Bh (R/W): PR12 Scratch Pad Register                 (WD90Cxx Only)
  176. bit  0-7  Reserved
  177.  
  178. 3d4h index 2Ch (R/W): PR13 Interlace H/2 Start                  (WD90Cxx Only)
  179. bit  0-7  Interlace H/2 Start. Adjusts Horizontal Sync for interlace.
  180.  
  181. 3d4h index 2Dh (R/W): PR14 Interlace H/2 End                    (WD90Cxx Only)
  182. bit  0-4  Interlace H/2 End. Adjusts horizontal Sync width
  183.        5  Interlace enable
  184.        6  Vertical Double Scan for EGA on PS/2 Display
  185.        7  Enable Vertical retrace interrupts if set
  186.  
  187. 3d4h index 2Eh (R/W): PR15 Miscellaneous Control #1             (WD90Cxx Only)
  188. bit    0  Disable borders if set
  189.        1  Select Display Enable Timing
  190.        2  Enables page mode addressing in alpha modes if set
  191.        3  Interlace comp. with 8514/A timing if set.
  192.        4  VCLK=MCLK. If set MCLK is used for all video timings.
  193.        5  VCLK1,VLKC2 Latched Outputs.
  194.        6  Low VCLK. Set if VCLK is much slower than MCLK.
  195.        7  Enable read of 46E8h
  196.  
  197. 3d4h index 2Fh (R/W): PR16 Miscellaneous Control #2             (WD90Cxx Only)
  198. bit    1  Standard VGA memory if set
  199.      3-4  bit 16,17 of CRTC Address Counter Offset
  200.      5-6  CRTC Address Counter Width
  201.            0= 256k, 1=128K, 2=64K
  202.  
  203. 3d4h index 30h (R/W): PR17 Miscellaneous Control #3             (WD90Cxx Only)
  204. bit    0  Maps out ROM at C600h-C67Fh if set
  205.        2  (WD90C1x Only) Enables 64k ROM at C000h-CFFFh if set
  206.        3  (WD90C1x Only) Maps out ROM at C600h-C6FFh if set
  207.  
  208. 3d4h index 32h (R/W):  Flat Panel Control                       (WD90C2x Only)
  209. bit    0
  210.        4  Set if LCD display enabled
  211.        5  Set if external display enabled
  212.  
  213. 3d4h index 34h (R/W):                                           (WD90C2x Only)
  214. bit  0-7  Write A6h to unlock WD90c2x extensions
  215.  
  216. 3d4h index 31h-37h (R):                                   (WD90C24,26,3x Only)
  217. Contains the text "WD90Cxx" (57h 44h 39h 30h 43h), where xx is model dependant
  218.            36h:  37h:  Text:        Chip:
  219.            32h   34h   'WD90C24'    WD90C24
  220.            32h   36h   'WD90C26'    WD90C26
  221.            33h   30h   'WD90C30'    WD90C30
  222.            33h   31h   'WD90C31'    WD90C31
  223.            33h   33h   'WD90C33'    WD90C33
  224.  
  225. 3d4h index 3Eh (R/W):                                               (c33 only)
  226. bit    5  Bit 8 of the Horizontal Total (3d4h index 0)
  227.        7  Set if 2MB video memory
  228.  
  229. 23C0h W(R/W):                                                      (c31+ only)
  230. bit  0-1  Selects the register bank at 23C2h. 1: BitBLT, 2: Cursor
  231.  
  232.  0  Enable Hardware Cursor if set??
  233.        1  Set to change cursor position or bitmap ??
  234.  
  235. 23C2h W(R/W):                                                      (c31+ only)
  236. bit 0-11  Data to write to the index selected by bits 12-15
  237.    12-15  Selects the index the write will go to
  238. Note: The index registers are marked as index a/b where a is the register bank
  239.       selected by 23C0h and b is the index from bit 12-15.
  240.  
  241. 23C2h index 1/0 W(W):  BITBLT Control Part 1                       (c31+ only)
  242. bit    1  If set the Blit Source is system I/O, if clear screen memory
  243.      2-3  Source format. 0: color, 1: mono from color comparators,
  244.            2: fixed color (Fill), 3: mono from host
  245.        5  If set the Blit Destination is system I/O, if clear screen memory
  246.        6  If set Blit source is linear, if clear rectangular
  247.        7  If set Blit destination is linear, if clear rectangular
  248.        8  Set in packed or text mode, clear in planar
  249.       10  If set Blit is bottom->top, right->left,
  250.           if clear top->bottom, left->right.
  251.       11  Activation/status bit. Set this bit to start blit operation
  252.  
  253. 23C2h index 1/1 W(W):  BITBLT Control Part 2                       (c31+ only)
  254. bit    0  Destination transparency if set
  255.        2  If set matching pixels are opaque, transparent if clear.
  256.        3  Monochrome transparency if set
  257.        4  If set source is an 8x8 pattern
  258.        6  Update destination on completion of blit
  259.        7  Quick start when destination register is written
  260.       10  Interrupt enable when blit completes
  261.  
  262. 23C2h index 1/2 W(W):  BITBLT Source Low
  263. bit 0-11  Lower 12 bits of the pixel source address
  264.  
  265. 23C2h index 1/3 W(W):  BITBLT Source High
  266. bit 0-11  Upper 12 bits of the pixel source address
  267.  
  268. 23C2h index 1/4 W(W):  BITBLT Destination Low
  269. bit 0-11  Lower 12 bits of the pixel destination address
  270.  
  271. 23C2h index 1/5 W(W):  BITBLT Destination High
  272. bit 0-11  Upper 12 bits of the pixel destination address
  273.  
  274. 23C2h index 1/6 W(W):  BITBLT Dim X
  275. bit 0-11  Width of blit area
  276.  
  277. 23C2h index 1/7 W(W):  BITBLT Dim Y
  278. bit 0-11  Height of blit area
  279.  
  280. 23C2h index 1/8 W(W):  BITBLT Row Pitch
  281. bit 0-11  Scanline width at the destination
  282.  
  283. 23C2h index 1/9 W(W):  BITBLT Raster Op
  284. bit 8-11  Raster operation
  285.              0  ROP_Zero
  286.              1  ROP_And
  287.              2  ROP_SAnd
  288.              3  ROP_Src
  289.              4  ROP_NSad
  290.              5  ROP_Dst
  291.              6  ROP_Xor
  292.              7  ROP_Or
  293.              8  ROP_Nor
  294.              9  ROP_XNor
  295.             10  ROP_NDest
  296.             11  ROP_Sond
  297.             12  ROP_NSrc
  298.             13  ROP_NSod
  299.             14  ROP_NAnd
  300.             15  ROP_One
  301.  
  302. 23C2h index 1/Ah W(W):  BLT Foreground Color
  303.  
  304. 23C2h index 1/Bh W(W):  BLT Background Color
  305.  
  306. 23C2h index 1/Ch W(W):  BLT Transparency Color
  307.  
  308. 23C2h index 1/Dh W(W):  BLT Transparency Mask
  309.  
  310. 23C2h index 1/Eh W(W):  BLT Mask
  311.  
  312. 23C2h index 2/0 W(W):
  313. bit    4  (WD90c33) If set doubles the cursor horizontally
  314.        6  (WD90c33) If set cursor plane A selects between background and the
  315.           screen data
  316.        8  Affects cursor appearance ??
  317.        9  Set for 64x64 cursor, clear for 32x32
  318.       11  Set to enable hardware cursor
  319.  
  320. 23C2h index 2/1 W(W):                                          (WD90c31+ only)
  321. bit 0-11  Lower 12 bits of the address of the Cursor Bitmap.
  322.           In 256 color modes this is in units of 4 bytes, in planar
  323.           modes in bytes. The Upper bits are in index 2.
  324. Note: The cursor map data is a 32x32 or 64x64 bitmap with 2 bits per pixel.
  325.       The data is stored as 8bits of "A" data followed by 8bits of "B" data.
  326.       The effect on each pixel is:
  327.          A:    B:
  328.          0     0   Set to a fixed color (Which one ??)
  329.          0     1   Set to a fixed color (Which one ??)
  330.          1     0   Original screen data (transparent)
  331.          1     1   XOR cursor
  332.  
  333. 23C2h index 2/2 W(W):                                          (WD90c31+ only)
  334. bit 0-11  Upper 12 bits of the address of the Cursor Bitmap in the display
  335.           memory in units of 4 bytes. The Lower bits are in index 1.
  336.  
  337. 23C2h index 2/5 W(W):  Cursor Hotspot                           (WD90c31 only)
  338. bit  0-5  The X hotspot position within the cursor from the left
  339.     6-11  The Y hotspot position within the cursor from the top
  340.  
  341.  
  342. 23C2h index 2/6 W(W):  Cursor X position                        (WD90c31 only)
  343. bit 0-11  The X position of the cursor in pixels from the left.
  344.  
  345. 23C2h index 2/7 W(W):  Cursor Y position                        (WD90c31 only)
  346. bit 0-11  The Y position of the cursor in scanlines from the top.
  347.  
  348. 23C2h index 2/Ch W(W):  Cursor Hotspot                          (WD90c33 only)
  349. bit  0-5  The X hotspot position within the cursor from the left
  350.     6-11  The Y hotspot position within the cursor from the top
  351.  
  352. 23C2h index 2/Dh W(W):  Cursor X position                       (WD90c33 only)
  353. bit 0-11  The X position of the cursor in pixels from the left.
  354.  
  355. 23C2h index 2/Eh W(W):  Cursor Y position                       (WD90c33 only)
  356. bit 0-11  The Y position of the cursor in scanlines from the top.
  357.  
  358.  
  359.  
  360. 46E8h (R/W): Global Enable Register           (AT only)
  361. bit 0-2  BIOS ROM page select (8 pages of 4K each).
  362.       3  Adapter VGA enabled if set
  363.       4  If set the VGA is in Setup mode, where 102h and 46E8h
  364.          are the only ports responding.
  365.          Wake Up port at 102h responds only if this bit set.
  366. Note: This register is also addressed at 56E8h, 66E8h and 76E8h.
  367.       Register only readable if 3d4h index 2Eh bit 7 set
  368.  
  369.     3d4h index 31h-3fh used in WD90C1x.
  370.  
  371.  
  372.   Bank Switching:
  373.  
  374.     Bank switching happens by adding the bank register to bit 12-19
  375.     of the address, resulting in the window starting on a 4k boundary.
  376.  
  377.     Two different bank registers can be used either as Read/Write
  378.     banks (WD90C1x) or as two different windows each 32k/64k big.
  379.  
  380.  
  381.   Memory:
  382.  
  383.    $C000:$09  string   BIOS date 
  384.    $C000:$35  1 byte   BIOS version 
  385.    $C000:$7D  4 bytes  $3ED414756   ('VGA=')
  386.  
  387.  
  388.   ID Paradise/WD Super VGA Chip set:
  389.  
  390.   old:=rdinx($3CE,$F);
  391.   setinx($3CE,$F,$17);   {Lock registers}
  392.   if not testinx2($3CE,9,$7F) then
  393.   begin
  394.     modinx($3CE,$F,$17,5);      {Unlock again}
  395.     if testinx2($3CE,9,$7F) then
  396.     begin
  397.       old2:=rdinx(base,$29);
  398.       modinx(base,$29,$8F,$85);  {Unlock WD90Cxx registers}
  399.       if not testinx(base,$2B) then 'Paradise PVGA1A'
  400.       else begin
  401.         wrinx($3C4,6,$48);
  402.         if not testinx2($3C4,7,$F0) then 'Western Digital WD90C00'
  403.         else if not testinx($3C4,$10) then
  404.         begin
  405.           if testinx2(base,$31,$68) then 'Western Digital WD90C22'
  406.           else if testinx2(base,$31,$90) then 'Western Digital WD90C20A'
  407.           else 'Western Digital WD90C20';
  408.           wrinx($3d4,$34,$A6);
  409.           if (rdinx($3d4,$32) and $20)<>0 then wrinx($3d4,$34,0);
  410.         end
  411.         else if testinx2($3C4,$14,$F) then
  412.         begin
  413.           SubVers:=(rdinx(base,$36) shl 8)+rdinx(base,$37);
  414.           case SubVers of
  415.             $3234:'Western Digital WD90C24'
  416.             $3236:'Western Digital WD90C26'
  417.             $3330:'Western Digital WD90C30'
  418.             $3331:'Western Digital WD90C31'
  419.             $3333:'Western Digital WD90C33'
  420.         else UNK(Paradise);'
  421.         end 
  422.         else if not testinx2($3C4,$10,4) then 'Western Digital WD90C10'
  423.                                          else 'Western Digital WD90C11';
  424.     end;
  425.     wrinx($3d4,$29,old2);
  426.   end;
  427.   wrinx($3CE,$F,old);
  428.  
  429.  
  430.   Video Modes:
  431.  
  432.  
  433.   14h  T   132   25  16            WD90c33
  434.   21h  T   132   44  16            WD90c33
  435.   41h  T    80   34  16
  436.   47h  T   132   28  16
  437.   54h  T   132   43  16  (7/8x9)
  438.   55h  T   132   25  16  (7/8x16)
  439.   56h  T   132   43   4  (7/8x9)
  440.   57h  T   132   25   4  (7/8x16)
  441.   58h  G   800  600  16  PL4
  442.   59h  G   800  600   2  odd/even     **** See note    Not on newer boards?
  443.   5Ah  G  1024  768   2  odd/even     **** See note    Not on newer boards?
  444.   5Bh  G  1024  768   4  packed       **** See note    Not on newer boards?
  445.   5Ch  G   800  600 256  P8        WD90C11/3x Only
  446.   5Dh  G  1024  768  16  PL4
  447.   5Eh  G   640  400 256  P8
  448.   5Fh  G   640  480 256  P8
  449.   60h  G  1024  768 256  P8        WD90c3x only
  450.   61h  G   640  400 32k  P15       WD90c31+ only
  451.   62h  G   640  480 32k  P15       WD90c3x only
  452.   63h  G   800  600 32k  P15       WD90c3x only
  453.   64h  G  1280 1024  16  PL4       WD90c31+ only
  454.   66h  T    80   50  16  (8x8)
  455.   67h  T    80   43  16  (8x8)
  456.   68h  G   320  200 32k  P15       WD90c31 only
  457.   69h  T   132   50  16  (8x8)
  458.   6Ah  G   800  600  16  PL4
  459.   6Ch  G  1280  960  16  PL4
  460.   6Eh  G   640  480 16m  P24       WD90c33
  461.   71h  G   640  400 64k  P16       WD90c33
  462.   72h  G   640  480 16m  P24       WD90c31 only  (2048 bytes per line)
  463.   72h  G   640  480 64k  P16       WD90c33
  464.   73h  G   800  600 64k  P16       WD90c33
  465.  
  466.  
  467.     Mode 5Bh  1024x768 4 color.
  468.       2 bit per pixel packed mode.
  469.       Pixels start in bit 6-7.
  470.  
  471.     Mode 59h   800x600 2 color and
  472.     Mode 5Ah  1024x768 2 color.
  473.       One bit per pixel odd/even mode
  474.       Pixels 0-7 are in plane 0, 8-15 in plane 1.
  475.  
  476.  
  477.  
  478.   Bios extensions:
  479.  
  480.  
  481. ----------10007E-----------------------------
  482. INT 10 - VIDEO - Paradise VGA, AT&T VDC800 - SET SPECIAL MODE
  483.         AX = 007Eh
  484.         BX = horizontal dimension of the desired mode
  485.         CX = vertical dimension of the desired mode
  486.              Both BX,CX in dots for graph modes, chars for alpha modes
  487.         DX = Number of colors desired (0000h for monochrome)
  488. Return: BH = 7Eh if successful (Paradise VGA)
  489.         AL = 7Eh if successful (AT&T VDC800)
  490. ----------10007F-----------------------------
  491. INT 10 - VIDEO - Paradise ....   EXTENDED MODE SET
  492.         AX = 007Fh
  493.         BH = 00h   set VGA operation
  494.         BH = 01h   set non-VGA operation
  495.                    color modes (0,1,2,3,4,5,6) will set non-VGA CGA operation
  496.                    monochrome mode 7 will set non-VGA MDA/Hercules operation
  497.         BH = 02h   Query mode status
  498.                    Return: BL = 00h if operating in VGA mode, 01h if non-VGA
  499.                                 mode
  500.                            CH = total video RAM size in 64k byte units
  501.                            CL = video RAM used by the current mode
  502.         BH = 03h   Lock current mode. Allows current mode
  503.                    (VGA or non-VGA) to survive re-boot.
  504.         BH = 04h   Set non-VGA MDA/Hercules Mode
  505.         BH = 05h   Set non-VGA CGA Mode
  506.         BH = 06h   Set VGA Mono Mode
  507.         BH = 07h   Set VGA Color Mode
  508.         BH = 09h..0Fh   Write Paradise Register
  509.                         BL = New value of PR register
  510.         BH = 19h..1Fh   Read Paradise Register
  511.                         Return: BL = Value of register
  512.                         BH: (Read) BH: (Write)   Register
  513.                         19h        09h          PR0A     Port 3CEh index 09h
  514.                         1Ah        0Ah          PR0B     Port 3CEh index 0Ah
  515.                         1Bh        0Bh          PR1      Port 3CEh index 0Bh
  516.                         1Ch        0Ch          PR2      Port 3CEh index 0Ch
  517.                         1Dh        0Dh          PR3      Port 3CEh index 0Dh
  518.                         1Eh        0Eh          PR4      Port 3CEh index 0Eh
  519.                         1Fh        ---          PR5      Port 3CEh index 0Fh
  520.         BH = 20h   Emulate EGA with Analog Monitor   (WD90Cxx Chips Only)
  521.                    BL=EGA Switches in Bit 0-3
  522.         BH = 29h..30h   Read Paradise Register       (WD90Cxx Chips Only)
  523.                         Return: BL = Value of register
  524.                         BH:    Register:
  525.                         29h   PR10     Port 3CEh index 29h
  526.                         2Ah   PR11     Port 3CEh index 2Ah
  527.                         2Bh   PR12     Port 3CEh index 2Bh
  528.                         2Ch   PR13     Port 3CEh index 2Ch
  529.                         2Dh   PR14     Port 3CEh index 2Dh
  530.                         2Eh   PR15     Port 3CEh index 2Eh
  531.                         2Fh   PR16     Port 3CEh index 2Fh
  532.                         30h   PR17     Port 3CEh index 30h
  533.         BH = 60h
  534.         BH = 61h
  535.         BH = A5h
  536.         BH = A6h
  537.  
  538. Note: The functions 60h, 61h, A5h and A6h are supported by the 5/14/93 ROM for
  539.       the Dell 486D
  540.  
  541. Return: AL = 7Fh  If successful  (AT&T VDC600)
  542.         BH = 7Fh  If valid call (Paradise/Western Digital)
  543. --------V-106E00-----------------------------
  544. INT 10 - Paradise VGA internal - GET ???
  545.         AX = 6E00h
  546. Return: BX = 5744h ('WD') if supported
  547.             DH:AH:AL = last three ASCII digits of ROM serial number
  548.             CL = ???
  549.             CH = ???
  550. --------V-106E04-----------------------------
  551. INT 10 - Paradise VGA internal - GET SCREEN SIZE AND ???
  552.         AX = 6E04h
  553. Return: BX = screen width (columns)
  554.         CX = screen height (lines)
  555.         AH = ??? (05h or FFh)
  556.         AL = ??? (04h or video mode)
  557. --------V-106E05-----------------------------
  558. INT 10 - Paradise VGA internal - SET MODE
  559.         AX = 6E05h
  560.         BL = mode
  561. Note: like AH=00h, AL=BL.
  562.